﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace pxt
{
    public static class GameSystems
    {
        public static GraphicsSystem Graphics;
        public static AudioSystem Audio;
        public static InputSystem Input;
        public static CollisionSystem CollisionSystem;
        public static AnnouncementSystem AnnouncementSystem;
        //public static ParticleSystem Particles;
        //public static SpellSystem Spells;

        static GameSystems()
        {
        }

        public static void Init()
        {
            Graphics.Initialize();
            Audio.Initialize();
            Input.Initialize();
            CollisionSystem.Initialize();
            AnnouncementSystem.Initialize();
        }
        public static void Update(GameTime gt)
        {
            Graphics.Update(gt);
            Audio.Update(gt);
            CollisionSystem.Update(gt);
            AnnouncementSystem.Update(gt);
            //Input.PollInputDevices();
            //Input.Update(gt);
        }
        public static void Draw()
        {
            CollisionSystem.Draw();
            AnnouncementSystem.Draw();
        }
    }
}
